//=== 所有对象实体在此处定义  ===


// 分类商品列表
export interface iGoodsList{
    dictType:number,
    code:string,
    name:string,
    imgs?:string,
    buyNum?:number
  }

// 字典信息
export interface iDictInfo {
    type?: string;
    key: string;
    value: string;
}

// 购物车-商品列表
export interface iOrderGoodsDate {
    id?: number | undefined
    code?: string;
    name?: string;
    type?: number;
    price: number;
    payNum: number;
}

// 提现列表
export interface iTranOutPage {
    id?: number | undefined;
    userCode: string;
    userName: string;
    nickName?: string;
    type: string;
    typeName: string;
    withdrawMoney: number;
    withdrawCode: number;
    createTime?: string;
}


// 提现审批列表
export interface iTranOutExaminePage extends iTranOutPage {
    examineStatus?: number;
    examineRemark: string;
    examineTime?: string;
}

// 奖励列表
export interface iUserFinPage {
    id?: number | undefined
    userCode: string;
    userName: string;
    nickName?: string;
    awardZt?: number;
    awardPxjt?: number;
    awardFwjt?: number;
    awardZzbt?: number;
    calcDate?: string;
    createTime?: string;
    item1?: number;
    item2?: number;
    item3?: number;
    item4?: number;
    checkFlag?: number;
}


// 套餐列表
export interface iPackagePage {
    id?: number | undefined
    code: string;
    name: string;
    goodsTotalQuantity: number;
    goodsTotalPrice: number;
    price: number;
    putawayFlag: number;
    imgs: string;
    remark: string;
    createBy?: string;
    createTime?: string;
}

// 套餐关联商品列表
export interface iPackageGoods {
    id?: number | undefined;
    packageGoodsId?: number | undefined;
    code: string;
    name: string;
    type: number;
    price: number;
    discountPrice: number;
    putawayFlag: number;
    imgs?: string;
    remark?: string;
    createBy?: string;
    createTime?: string;
    goodsAction?: string;
}

// 商品列表
export interface iGoodsPage {
    key: number | string,   // 用户复选框使用
    id?: number | undefined
    code?: string;
    name?: string;
    type?: number;
    price?: number;
    discountPrice?: number;
    putawayFlag?: number;
    imgs?: string;
    remark?: string;
    repertory?: number;
    createBy?: string;
    createTime?: string;
    title?: string;
    dataIndex?: string
}

// JC数据
export interface iBaseC {
    promotionPeopleNumLimit: number;
    promotionPeopleNumIncludeLeaderFlag: number | string;
    agencyConditionConsumeMoneyFlag: number | string;
    agencyConditionConsumeMoney?: number;
    agencyConditionSpecificProductFlag: number | string;
    agencyConditionSpecificProduct?: number | string;
}

// JJ数据
export interface iBonusC {
    type: number;
    allotModel: number | string;
    specificValue?: number;
    oneContributionFlag?: boolean | number;
    leaderOpenFlag?: boolean | number;
    leaderOpenMoney?: number;
}

// 概览数据-个人
export interface iOverView {
    childNum: number;
    relationNum: number;
    totalM: number;
}

// 概览数据-管理员
export interface iOverViewA {
    userTotalNum: number,
    orderTotalNum: number,
    dealTotalMoney: number,
    withdrawTotalMoney: number,
}

// 订单查询
export interface iOrderQuery {
    searchTime?: any,
    code?: string,
}
// 订单列表
export interface iOrderPage {
    code: string;
    dealMoney: number;
    discountMoney: number;
    payWay: number;
    status: number;
    recipientPhone: string;
    recipientAddress: string;
    createBy: string
}

// 订单详情
export interface iOrderDetails {
    orderCode: string;
    goodsCode: string;
    goodsName: string;
    goodsType: string;
    goodsTypeName: string;
    dealPrice: number;
    purchaseQuantity: number;
    dealMoney: number;
    discountMoney: number;
}

// 列表统一对象模板
export interface iListModel {
    title: string;
    dataIndex?: string;
    key?: string; // Vue 需要的 key，如果已经设置了唯一的 dataIndex，可以忽略这个属性
    scopedSlots?: any;
    width?: string | number;
    align?: string;
    fixed?: string;
    ellipsis?: boolean;
    checked?: boolean;
}

// 用户对象属性
export interface iUser {
    id: number,
    code: string;
    nickName: string;
    userName: string;
    realName: string;
    enabled?: number;
    email?: string;
    address?: string;
    phonenumber: string;
    sex: string;
    accountTotal: number;
    level: number;
    createBy: string;
    createTime: string;
}

// ======================[通用模板]=======================

// 分页对象模板
export interface iPage {
    current: number;
    pageSize: number; // 没有 ? 的属性，必须赋值
    pages?: number; // ? 标识属性可有可无
    total: number;
}
// 分页对象模板
export interface iPagination extends iPage {
    showQuickJumper?: boolean;
    showSizeChanger?: boolean;
    showTotal?: any;
    pageSizeOptions?: string[] | number[];
    change?: any
}